using UnityEngine;

namespace QFramework.Example.Ioc
{
    public class IocExample : MonoBehaviour
    {
        private void Start()
        {
            // 创建一个 IOC 容器
            var container = new IocContainer();

            // 根据接口注册实例
            container.Register<IBluetoothManager>(new BluetoothManager());

            // 根据接口获取蓝牙管理器的实例
            var bluetoothManager = container.Get<IBluetoothManager>();

            // 连接蓝牙
            bluetoothManager.Connect();
        }
    }

    /// <summary>
    ///     定义接口
    /// </summary>
    public interface IBluetoothManager
    {
        public void Connect();
    }

    /// <summary>
    ///     实现接口
    /// </summary>
    public class BluetoothManager : IBluetoothManager
    {
        public void Connect()
        {
            Debug.Log("蓝牙连接成功");
        }
    }
}